import java.util.Arrays;

public class Test {
    public static void main(String[] args) {
//        String str1 = "hello";
//        String str2 = "hello";
//        System.out.println(str2 == str1);
//        String s1="abc"+"def";//1
//        String s2=new String(s1);//2
//        if(s1.equals(s2))//3
//            System.out.println(".equals succeeded");//4
//        if(s1==s2)//5
//            System.out.println("==succeeded");//6
//    }


        //创建字符串
//        String str1 = "hello";
//        String str2 = new String("hello");
//        char[] chars = {'h','e','l','l','o'};
//        String str3 = new String(chars);
//
//        byte[] bytes = {97,98,99,100,101,102};
//        String str4 = new String(bytes);
//        System.out.println(str1);
//        System.out.println(str2);
//        System.out.println(str3);
//        System.out.println(str4);

        //字符串中常用的方法
        //(1)字符串的比较
//        String str1 = "hello";
//        String str2 = "world";
//        String str3 = str1;
//        //使用==是用来判断两个变量的地址是否相同的
//        System.out.println(str3 == str2);
//        System.out.println(str3 == str1);


        //(2)使用equals来比较内部的内容是否相同
//        String str1 = "hello";
//        String str2 = new String("hello");
//        System.out.println(str2 == str1);
//        System.out.println(str2.equals(str1));

//        String str1 = "heLLo";
//        String str2 = "HelLo";
//        //区分大小写
//        System.out.println(str2.equals(str1));
//        System.out.println(str2.equalsIgnoreCase(str1));

        //字符查找
        //charAt()给索引返回字符
//        String str = "hello the world";
//        for(int i = 0;i<str.length();i++){
//            System.out.print(str.charAt(i) + " ");
//        }

        //indexOf
//        String str = "hello the world";
//        int i = str.indexOf("ll",4);
//        //就是倒着找
//        int i1 = str.lastIndexOf("ll", 4);
//        System.out.println(i);
//        System.out.println(i1);

        //字符串的转换
        //(1)转成字符串
//        String str1 = String.valueOf(1234);
//        String str2 = String.valueOf(3.14);
//        String str3 = String.valueOf(3.1415f);
//        String str4 = String.valueOf(new Person("zhangsan",18,"男"));
//        System.out.println(str1);
//        System.out.println(str2);
//        System.out.println(str3);
//        System.out.println(str4);

//        int number = Integer.parseInt("1234");
//        System.out.println(number+1);

//        float f = Float.parseFloat("12.34");
//        System.out.println(f+1);

//        String str = "helloworld";
////        char[] charArray = str.toCharArray();
////        System.out.println(Arrays.toString(charArray));
//
//        byte[] bytes = str.getBytes(str);

        //大小写的转换
        //格式化输出
        //静态方法
//        String format = String.format("%d--%d--%d", 2024, 5, 29);
//        System.out.println(format);

        //替换
//        String str = "hello world";
//        String replace = str.replace("ll", "uuuu");
//        System.out.println(replace);

        //拆分
//        String str = "hello&the#world.!!!";
//        String[] split = str.split("[&.#]");
//        System.out.println(Arrays.toString(split));

        //截取
//        String str = "hello the world";
//        String substring = str.substring(6,10);
//        System.out.println(substring);

        //去除字符串两边的空白
//        String str = "     hello the world   ";
//        String trim = str.trim();
//        System.out.println(trim);

        StringBuilder stringBuilder =new StringBuilder();
        //append什么类型都可以直接添加
//        stringBuilder.append(new Person("zhangsan",18,"男"));

        stringBuilder.append(1234);
        stringBuilder.append("hello");
        stringBuilder.append(3.14);
        //改变目标索引位置的值
        stringBuilder.setCharAt(0,'Z');
        stringBuilder.reverse();
//        stringBuilder.delete(0,stringBuilder.length());
        stringBuilder.insert(0,"hahaha");
        stringBuilder.replace(0,stringBuilder.length(),"zjy");





        String string = stringBuilder.toString();
        System.out.println(string);

        //string类型不可以被修改，只能创建新的对象，但是使用StringBuilder就可以直接在原来的对象上直接对字符串进行修改。

    }
}
